// 此源代码的使用受BSD样式
// 许可证的约束，该许可证可以在许可证文件中找到。

// go:构建amd64 | arm64 | mips64 | mips64le | ppc64 | | ppc64le | riscv64 | s390x | wasm 

package atomic

// LoadAcquire是
// 部分不同步的加载版本，可以放松排序限制。其他线程
// 可能会观察到此操作之前到
// 之后发生的操作，但无法观察到在此线程上的
// 之后发生的任何操作在其之前发生。
// 
// 警告：谨慎使用。
func (u *Uint64) LoadAcquire() uint64 {
	return LoadAcq64(&u.value)
}

// StoreRelease是Store的部分非同步版本
// ，它放松了订购限制。其他线程
// 可能会观察到在此操作之后发生的操作，但不能观察到在此操作之前发生的任何操作。
// 
// 警告：谨慎使用。
func (u *Uint64) StoreRelease(value uint64) {
	StoreRel64(&u.value, value)
}
